home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 11
/
FM Towns Free Software Collection 11.iso
/
t_os
/
data
/
dora
/
doradset.plp
< prev
next >
Wrap
Text File
|
1995-03-21
|
17KB
|
683 lines
/* データライブラリ スイッチ用リスト作成 */
%MDdlib{
[dnld,mode]
var SLine [120];
var forum [8];
var libno [4];
var dataname[12];
var datafile[64];
var docfile [12];
forum:=@tail(dnld,{forum=},{;});
libno:=@tail(dnld,{libno=},{;});
dataname:=@tail(dnld,{dataname=},{;});
docfile:=@FileND(@tail(dnld,{docfile=},{;}));
datafile:=@FileND(@tail(dnld,{datafile=},{;}));
SLine:=Mode|{Data Lib }|forum|{ };
SLine:=@getchar(SLine,1,23)|{Lib:}|libno|{ };
SLine:=@getchar(SLine,1,39)|{ Data:}|datafile;
SLine:=@getchar(SLine,1,57)|{ Doc:}|docfile;
SLine:=@getchar(SLine,1,79)|CRLF;
im(SLine);
};
/* プロフィール情報 スイッチ用リスト作成 */
%MDprof{
[dnld,mode]
var SLine [120];
var id [127];
id:=@tail(dnld,{profile=},{;});
SLine:=Mode|{プロフィール ID:}|@nth(id,1,{,});
case(@nth(id,2,{,})<>{},
{Yes},{SLine:=SLine|{-}});
SLine:=@getchar(SLine,1,79)|CRLF;
im(SLine);
};
/* DLリスト スイッチ用リスト作成 */
%MDdllst{
[dnld,mode]
var SLine [120];
var liblist [3];
liblist:=@tail(dnld,{filbord=},{;});
SLine:=Mode|{DLリスト }|NET|{ };
SLine:=@getchar(SLine,1,23)|{Lib:}|liblist;
SLine:=@getchar(SLine,1,79)|CRLF;
im(SLine);
};
/* 全員のプロファイルリスト スイッチ用リスト作成 */
%MDprolst{
[dnld,mode]
var SLine [120];
SLine:=Mode|{全員のプロファイルリスト 取得}|NET|{ };
SLine:=@getchar(SLine,1,79)|CRLF;
im(SLine);
};
/* アップロード予約状況表示用試作パイロット Ver 0.10 (右裸眼だ)(笑) */
%MakeDisp{
var line [3];
var CtlLine [256];
var Mode [5];
madd(memono+1,{});
mclear(memono+1);
line:=0;
loop ({
line:=line+1;
CtlLine:={};
CtlLine:=@memo(memono,line,1);
case (CtlLine<>{},
{Yes},
{
case (@getchar(CtlLine,1,5),
{保留;},
{Mode:={保留 };CtlLine:=@getchar(CtlLine,6)},
,
{Mode:={予約 }}
);
madd(memono+1,
@case (@head(CtlLine,{=}),
{forum}, {MDdlib(CtlLine,Mode)},
{profile}, {MDprof(CtlLine,Mode)},
{filbord}, {MDdllst(CtlLine,Mode)},
{allprofile}, {MDprolst(CtlLine,Mode)},
{\n}, {im(CRLF)},
, {im({ 未定義}|CRLF)}
)
);
im({Yes});
},
{No},{im({No})}
);
});
};
/* オートダウンロード制御ファイル作成処理 */
%SETDOWN1{
loop ({
footnote({ダウンロード元を指定して下さい});
SNDMSG({erande_f.snd});
select ({ダウンロード元を指定して下さい},
Wtime4, {im({No})},
{データダウン指定}, {AUdlib;im({Yes})},
{全員のプロフィール情報}, {AUallprf;im({Yes})},
{プロフィール情報}, {AUprof;im({Yes})},
{ 終 了 }, {im({No})}
)
});
CloseAllMemo;
mclear(memono);
case (@filechk(TEMP2|{doradown.wrk}),
{Yes},{mread(TEMP2|{doradown.wrk},memono)}
);
};
/* データライブラリからのダウンロード制御文作成 */
%AUdlib
{
footnote({データライブラリからのダウンロード制御文作成});
var forum [8];
var libno [3];
var dataname[12];
var datafile[64];
var docfile [64];
var ok[2];
loop ({
SNDMSG({nyuryo_f.snd});
%a @plane( {cデータライブラリからのダウンロード\n}|
{t ネット名 /xxxxxxxx\n}|
{cCUGボードの場合はネット名の代わりに\n}|
{cパスワードを入力して下さい\n}|
{tライブラリ番号/xxx\n}|
{tデータ名称/xxxxxxxxxxxx\n}|
{tデータファイル/\n}|
{s ファイル一覧/ 選択 \n}|
{t 概要ファイル /\n}|
{r ダウンロード予約 /予約 /保留\n}|
{s / 登録 / 取消 \n},
@SCANPW(libno),libno,dataname,datafile,docfile,1);
forum:= @head(@getline(a,1,1),{\n});
libno:= @head(@getline(a,2,1),{\n});
dataname:= @head(@getline(a,3,1),{\n});
datafile:= @head(@getline(a,4,1),{\n});
%sel1 @head(@getline(a,5,1),{\n});
docfile:= @head(@getline(a,6,1),{\n});
%reserv @head(@getline(a,7,1),{\n});
ok:= @head(@getline(a,8,1),{\n});
im({No}); /* 右クリック時のデフォルト値 */
case (sel1,
{ 1},
{
footnote({});
case(FSW={},
{Yes},{setcdir(LOG2|{FREESOFT\})},
{No},{setcdir(FSW)});
datafile:=@FILEsel1;
docfile:=@body(datafile,,{.})|{.ggg};
im({Yes});
});
case (ok,
{ 1},
{
case ((datafile={}||@getchar(datafile,2,2)={:\})&&
@getchar(docfile,2,2)={:\},
{No},
{
footnote({ファイル名はドライブからの}|
{フルパスで指定してください});
im({Yes});
},
{Yes},
{
case (@filechk(datafile)||datafile=docfile,
{Yes},
{
footnote({データファイル名が}|
{重複しています});
im({Yes});
},
{No},
{
case (forum<>{} && libno<>{} &&
dataname<>{} && datafile<>{},
{Yes},
{
%res1 @RESERV(reserv)|
{forum=}|forum|{;}|
{libno=}|libno|{;}|
{dataname=}|dataname|{;}|
{docfile=}|docfile|{;}|
{datafile=}|datafile|{;\n};
write(TEMP2|{doradown.wrk},res1);
im({No});
},
{No},{im({Yes})})
});
});
},
{ 2},{im({No})}
);
});
};
/* ダウンロードファイル指定処理 */
%FILEsel1{
var dnfile [64];
SNDMSG({erande_f.snd});
dnfile:=@filesel;
case(dnfile<>{},{Yes},{dnfile:=@dir2(@getcdir)|dnfile});
im(dnfile);
};
/* プロフィール情報のダウンロード制御文作成 */
%AUallprf{footnote({全員のプロフィール情報ダウンロード制御文作成});
loop ({
SNDMSG({nyuryo_f.snd});
%a @plane( {c全員のプロフィール情報ダウンロード\n}|
{r ダウンロード予約 /予約 /保留\n}|
{s / 登録 / 取消 \n},
1);
%reserv @head(@getline(a,1,1),{\n});
%ok @head(@getline(a,2,1),{\n});
im({No}); /* 右クリック時のデフォルト値 */
case (ok,
{ 1},
{
%cntl @RESERV(reserv)|{allprofile=;};
write(TEMP2|{doradown.wrk},cntl|{\n});
im({No});
},
{ 2},{im({No})}
);
});
};
%AUprof{
footnote({プロフィール情報ダウンロード制御文作成});
var id [90];
id:={};
loop ({
SNDMSG({nyuryo_f.snd});
%a @plane( {cプロフィール情報ダウンロード\n}|
{t ID番号 /\n}|
{c カンマ「,」で区切って複数指定可能 \n}|
{s / 検索 \n}|
{r ダウンロード予約 /予約 /保留\n}|
{s / 登録 / 取消 \n},
id,1);
id:= @head(@getline(a,1,1),{\n});
%search @head(@getline(a,2,1),{\n});
%reserv @head(@getline(a,3,1),{\n});
%ok @head(@getline(a,4,1),{\n});
im({No}); /* 右クリック時のデフォルト値 */
case (search,
{ 1},
{
%id1 @IDsearch;
case (id1<>{},
{Yes},
{
case (id<>{},
{Yes},{id:=id|{,}|id1},
{No},{id:=id1}
);
});
im({Yes})}
);
case (ok,
{ 1},
{
%cntl @RESERV(reserv)|{profile=}|id|{;};
write(TEMP2|{doradown.wrk},cntl|{\n});
im({No});
},
{ 2},{im({No})}
);
});
};
/* オートダウンロード制御ファイル更新処理 */
%UPDATE1{
var LineNo [6];
LineNo:=@xlinenum;
%MaxLine@nolmemo(memono);
case (LineNo>MaxLine,
{Yes},{LineNo:=MaxLine},
{No},{case(LineNo<1,{Yes},{LineNo:=1})}
);
%dnld @memo(memono,LineNo,1);
case (@head(dnld,{=}),
{forum}, {UPDATE(@UPDdlib(dnld))},
{保留;forum}, {UPDATE(@UPDdlib(dnld))},
{profile}, {UPDATE(@UPDprof(dnld))},
{保留;profile}, {UPDATE(@UPDprof(dnld))},
{filbord}, {UPDATE(@UPDfblst(dnld))},
{保留;filbord}, {UPDATE(@UPDfblst(dnld))},
, {CloseAllMemo}
);
};
%UPDATE {
[new]
case (new,
dnld, /* 変更無し */
{CloseAllMemo},
{}, /* 削除 */
{
CloseAllMemo;
mclear(memono);
case (LineNo>1,
{Yes},
{madd(memono,@read(TEMP2|{doradown.wrk},1,LineNo-1))}
);
case (LineNo<MaxLine,
{Yes},
{madd(memono,@read(TEMP2|{doradown.wrk},LineNo+1))}
);
mwrite(TEMP2|{doradown.wrk},memono);
},
, /* 変更あり */
{
CloseAllMemo;
mclear(memono);
case (LineNo>1,
{Yes},
{madd(memono,@read(TEMP2|{doradown.wrk},1,LineNo-1))}
);
madd(memono,new);
case (LineNo<MaxLine,
{Yes},
{madd(memono,@read(TEMP2|{doradown.wrk},LineNo+1))}
);
mwrite(TEMP2|{doradown.wrk},memono);
});
};
/* データライブラリからのダウンロード制御文更新 */
%UPDdlib{
[dnld]
footnote({データライブラリからのダウンロード制御文更新});
var forum [8];
var libno [4];
var dataname[64];
var datafile[64];
var docfile [64];
var ok [2];
var reserv [2];
reserv:=@case (@head(dnld,{;}),
{保留},{im({ 2})},
,{im({ 1})}
);
forum:= @tail(dnld,{forum=},{;});
libno:= @tail(dnld,{libno=},{;});
dataname:= @tail(dnld,{dataname=},{;});
datafile:= @tail(dnld,{datafile=},{;});
docfile:= @tail(dnld,{docfile=},{;});
loop ({
SNDMSG({nyuryo_f.snd});
%a @plane( {cファイルボードからのダウンロード\n}|
{t ネット名 /xxxxxxxx\n}|
{tファイルボード番号/xxx\n}|
{tデータ名称/xxxxxxxxxxxx\n}|
{tデータファイル/\n}|
{s ファイル一覧/ 選択 \n}|
{t 概要ファイル /\n}|
{s ファイル一覧/ 選択 \n}|
{r ダウンロード予約 /予約 /保留\n}|
{s / 登録 / 削除 / 取消 \n},
forum,libno,dataname,datafile,docfile,reserv);
forum:= @head(@getline(a,1,1),{\n});
libno:= @head(@getline(a,2,1),{\n});
dataname:= @head(@getline(a,3,1),{\n});
datafile:= @head(@getline(a,4,1),{\n});
%sel1 @head(@getline(a,5,1),{\n});
docfile:= @head(@getline(a,6,1),{\n});
%sel2 @head(@getline(a,7,1),{\n});
reserv:= @head(@getline(a,8,1),{\n});
ok:= @head(@getline(a,9,1),{\n});
case (sel1,{ 1},
{
footnote({});
datafile:=@FILEsel1;
docfile:=@body(datafile,,{.})|{.ggg};
im({Yes});
});
case (sel2,{ 1},
{
footnote({});
docfile:=@FILEsel1;
im({Yes});
});
case (ok,
{ 1},
{
case ((datafile={}||@getchar(datafile,2,2)={:\}) &&
@getchar(docfile,2,2)={:\},
{No},
{
footnote({ファイル名はドライブからの}|
{フルパスで指定してください});
im({Yes});
},
{Yes},
{
case (@filechk(datafile)||datafile=docfile,
{Yes},
{
footnote({データファイル名が}|
{重複しています});
im({Yes});
},
{No},
{
im(@RESERV(reserv)|{forum=}|forum|
{;libno=}|libno|{;dataname=}|
dataname|{;docfile=}|docfile|
{;datafile=}|datafile|{;\n});
});
});
},
{ 2},{im({})},
{ 3},{im(dnld)},
,{case(sel1={ 0}&&sel2={ 0},{Yes},{im(dnld)})}
);
});
};
/* プロフィール情報のダウンロード制御文更新 */
%UPDprof{
[dnld]
footnote({プロフィール情報ダウンロード制御文作成});
var id [90];
var ok [2];
var reserv [2];
reserv:=@case (@head(dnld,{;}),
{保留},{im({ 2})},
,{im({ 1})}
);
id:= @tail(dnld,{profile=},{;});
loop ({
SNDMSG({nyuryo_f.snd});
%a @plane( {cプロフィール情報ダウンロード\n}|
{t ID番号 /\n}|
{c カンマ「,」で区切って複数指定可能 \n}|
{s / 検索 \n}|
{r ダウンロード予約 /予約 /保留\n}|
{s / 登録 / 削除 / 取消 \n},
id,reserv);
id:= @head(@getline(a,1,1),{\n});
%search @head(@getline(a,2,1),{\n});
reserv:=@head(@getline(a,3,1),{\n});
ok:= @head(@getline(a,4,1),{\n});
case (search,
{ 1},
{
%id1 @IDsearch;
case (id1<>{},
{Yes},
{
case (id<>{},
{Yes},{id:=id|{,}|id1},
{No},{id:=id1}
);
});
im({Yes})}
);
case (ok,
{ 1},{im(@RESERV(reserv)|{profile=}|id|{;\n})},
{ 2},{im({})},
{ 3},{im(dnld)},
,{case(search={ 0},{Yes},{im(dnld)})}
);
});
};
/* ファイルボード情報のダウンロード制御文更新 */
%UPDfblst{
[dnld]
footnote({ファイルボード情報ダウンロード制御文作成});
var lib [3];
var ok [2];
var reserv [2];
reserv:=@case (@head(dnld,{;}),
{保留},{im({ 2})},
,{im({ 1})}
);
lib:= @tail(dnld,{filbord=},{;});
loop ({
SNDMSG({nyuryo_f.snd});
%a @plane( {cファイルボード情報ダウンロード\n}|
{t ファイルボード番号 /xxx\n}|
{s / 検索 \n}|
{r ダウンロード予約 /予約 /保留\n}|
{s / 登録 / 削除 / 取消 \n},
lib,reserv);
lib:= @To3(@head(@getline(a,1,1),{\n}));
%search @head(@getline(a,2,1),{\n});
reserv:=@head(@getline(a,3,1),{\n});
ok:= @head(@getline(a,4,1),{\n});
case (search,
{ 1},{MorL:={LiB};
%lib1 @MLserch(lib);
case (lib1<>{},{Yes},{lib:=lib1});
im({Yes})
});
case (ok,
{ 1},{im(@RESERV(reserv)|{filbord=}|mes|{;\n})},
{ 2},{im({})},
{ 3},{im(dnld)},
,{case(search={ 0},{Yes},{im(dnld)})}
);
});
};
/*ファイルコピー*/
%FILECOPY{
footnote({読み込むファイルを選択してください});
setcdir(UP); %file @filesel;
case (file={},
{Yes},{CloseAllMemo},
{No},
{
CloseAllMemo;
madd(memono+1,{\n});
mclear(memono+1);
case(@filechk(file),{Yes},{mread(file,memono+1)});
mopen(memono,0,21,639,240,{r});mclose(1);
mopen(memono+1,0,241,639,459,{r} );
select({このファイル内容を追加してもいいですか?},
Wtime4,{CloseAllMemo},
{ O K },
{
CloseAllMemo;
write(TEMP2|{doradown.wrk},@memo(memono+1));
mclear(memono);
mread(TEMP2|{doradown.wrk},memono);
},
{ N G },{CloseAllMemo}
)})};
/*手動編集*/
%HANDEDIT{
CloseAllMemo;
mopen(memono,0,21,639,459,{w});
loop ({
footnote({終了 取消},{b});waitx();
case (@xtype,
101,
{
CloseAllMemo;
mwrite(TEMP2|{doradown.wrk},memono);
im({No});
},
201,
{
CloseAllMemo;
mwrite(TEMP2|{doradown.wrk},memono);
im({No})
},
105,
{
CloseAllMemo;
mclear(memono);
case (@filechk(TEMP2|{doradown.wrk}),
{Yes},{mread(TEMP2|{doradown.wrk},memono)}
);
im({No})},
205,
{
CloseAllMemo;
mclear(memono);
case (@filechk(TEMP2|{doradown.wrk}),
{Yes},{mread(TEMP2|{doradown.wrk},memono)}
);
im({No});
},
,{im({Yes})});
})};
/*ダウンロード予約を保留する(UP&DWN SET)*/
%WAIT1 {
var LineNo [6];
LineNo:=@xlinenum;
%MaxLine@nolmemo(memono);
case (LineNo>MaxLine,
{Yes},
{LineNo:=MaxLine},
{No},
{case(LineNo<1,{Yes},{LineNo:=1})}
);
%line1 @memo(memono,LineNo,1);
case (@getchar(line1,1,5)={保留;}||line1={},
{Yes}, /* 変更無し */
{InactMemo},
{No}, /* 変更あり */
{
InactMemo;
mclear(memono);
case(LineNo>1,{Yes},
{madd(memono,@read(TEMP2|{doradown.wrk},1,LineNo-1))});
madd(memono,{保留;}|line1);
case(LineNo<MaxLine,{Yes},
{madd(memono,@read(TEMP2|{doradown.wrk},LineNo+1))});
mwrite(TEMP2|{doradown.wrk},memono);
});
};
/*DWNロード保留を解除(予約)する)*/
%RESERVE1{
var LineNo [6];
LineNo:=@xlinenum;
%MaxLine@nolmemo(memono);
case (LineNo>MaxLine,
{Yes},
{LineNo:=MaxLine},
{No},
{case(LineNo<1,{Yes},{LineNo:=1})}
);
%line1 @memo(memono,LineNo,1);
case (@getchar(line1,1,5),
{保留;}, /* 変更あり */
{
CloseAllMemo;
mclear(memono);
case(LineNo>1,{Yes},
{madd(memono,@read(TEMP2|{doradown.wrk},1,LineNo-1))});
madd(memono,@getchar(line1,6));
case(LineNo<MaxLine,{Yes},
{madd(memono,@read(TEMP2|{doradown.wrk},LineNo+1))});
mwrite(TEMP2|{doradown.wrk},memono);
},
,{CloseAllMemo} /* 変更なし */
);
};
/* オートダウンロード制御ファイル作成メインループ */
%SETDOWN{
[memono]
CloseAllMemo;
delfile(TEMP2|{doradown.wrk});
copyfile(UP2|{doradown.ctl},TEMP2|{doradown.wrk});
madd(memono,{\n});
mclear(memono);
case (@filechk(TEMP2|{doradown.wrk}),
{Yes},{mread(TEMP2|{doradown.wrk},memono)}
);
loop ({
MakeDisp;
mopen(memono+1,0,21,639,459,{r});
footnote({終了 取消 変更保留予約追加 読込編集},
{b});
waitx();
case (@xtype,
101,
{
delfile(UP2|{doradown.ctl});
copyfile(TEMP2|{doradown.wrk},UP2|{doradown.ctl});
im({No});
},
201,
{
delfile(UP2|{doradown.ctl});
copyfile(TEMP2|{doradown.wrk},UP2|{doradown.ctl});
im({No});
},
103,{im({No})}, 203,{im({No})},
106,{UPDATE1;im({Yes})},206,{UPDATE1;im({Yes})},
107,{WAIT1;im({Yes})}, 207,{WAIT1;im({Yes})},
108,{RESERVE1;im({Yes})},
208,{RESERVE1;im({Yes})},
109,{SETDOWN1;im({Yes})},
209,{SETDOWN1;im({Yes})},
111,{FILECOPY;im({Yes})},
211,{FILECOPY;im({Yes})},
112,{HANDEDIT;im({Yes})},
212,{HANDEDIT;im({Yes})},
memono+1,{UPDATE1;im({Yes})},
,{InactMemo;im({Yes})}
);
});
DeleteMemo(memono);
};
/* オートダウンロード制御ファイル作成処理 */
footnote({アップダウン制御ファイルのセットアップを行います});
%memono @mlast+1;
case (memono>7,
{No},{SETDOWN(memono)},
{Yes},
{
SNDMSG ({kaknin_f.snd});
select ({メモ7-9の内容が消去されます よろしいですか?},
Wtime4,,
{ は い },{SETDOWN(7)},
{ いいえ },);
});